1 #ifndef T_NFC_KER_CLB_H
2 #define T_NFC_KER_CLB_H
20 #define CLB_API KER_API
22 #define T_NFC_CLB_CTX_SINGLE_PARAM KER_INT32U ulRuntimeKernelID, KER_VOID* pCallbackHandle
23 #define T_NFC_CLB_CTX_PARAM KER_INT32U ulRuntimeKernelID, KER_VOID* pCallbackHandle,
51 #define NUM_T_NFC_CALLBACK_GET_READER_TYPE 1
68 #define NUM_T_NFC_CALLBACK_CARD_SENDCAPDU 2
91 #define NUM_T_NFC_CALLBACK_CARD_RECEIVERAPDU 3
117 #define NUM_T_NFC_CALLBACK_FIELD_OFF 4
130 #define NUM_T_NFC_CALLBACK_CARD_POLL 5
162 #define NUM_T_NFC_CALLBACK_CARD_GETINFO 6
187 #define NUM_T_NFC_CALLBACK_CARD_REMOVAL_PROCEDURE 7
203 #define NUM_T_NFC_CALLBACK_RESET_OPERATION_FIELD 8
216 #define NUM_T_NFC_CALLBACK_GET_READER_SERIAL_NUMBER 9
233 #define NUM_T_NFC_CALLBACK_TRACE_SET_MODE 11
235 #define T_NFC_CALLBACK_TRACE_SET_MODE_STD 0
236 #define T_NFC_CALLBACK_TRACE_SET_MODE_SENS 1
253 #define NUM_T_NFC_CALLBACK_TRACE_GET_MODE 12
267 #define NUM_T_NFC_CALLBACK_TRACE_STRING 13
283 #define NUM_T_NFC_CALLBACK_TRACE_BUFFER 14
300 #define NUM_T_NFC_CALLBACK_TRACE_TIME 15
315 #define NUM_T_NFC_CALLBACK_TRACE_ERROR 16
333 #define NUM_T_NFC_CALLBACK_KEEP_TRACE_TIME 17
350 #define NUM_T_NFC_CALLBACK_TRACE_FLUSH 18
364 #define NUM_T_NFC_CALLBACK_MEM_CMP 21
383 #define NUM_T_NFC_CALLBACK_MEM_SET 22
401 #define NUM_T_NFC_CALLBACK_MEM_CPY 23
419 #define NUM_T_NFC_CALLBACK_MEM_MOVE 24
438 #define NUM_T_NFC_CALLBACK_MEM_ADD 25
457 #define NUM_T_NFC_CALLBACK_MEM_SPRINTF 26
474 #define NUM_T_NFC_CALLBACK_MEM_VSPRINTF 27
492 #define NUM_T_NFC_CALLBACK_MEM_ALLOC 28
509 #define NUM_T_NFC_CALLBACK_MEM_RELEASE_EX 29
526 #define NUM_T_NFC_CALLBACK_CFG_GET_CONFIG_BY_ID 31
557 #define NUM_T_NFC_CALLBACK_CFG_GET_CUST_TAG_BY_ID 32
580 #define NUM_T_NFC_CALLBACK_CFG_GET_ID_BY_CUST_TAG 33
600 #define NUM_T_NFC_CALLBACK_CFG_IS_TRAN_CASH 34
618 #define NUM_T_NFC_CALLBACK_CFG_IS_TRAN_SALE 35
636 #define NUM_T_NFC_CALLBACK_CFG_IS_TRAN_CASHBACK 36
654 #define NUM_T_NFC_CALLBACK_CFG_IS_TRAN_MAN_CASH 37
672 #define NUM_T_NFC_CALLBACK_CFG_IS_TRAN_REFUND 38
690 #define NUM_T_NFC_CALLBACK_CFG_IS_APPROVED_ONLINE 39
708 #define NUM_T_NFC_CALLBACK_CFG_SET_CONFIG_BY_ID 40
731 #define NUM_T_NFC_CALLBACK_CFG_GET_EP_CONFIG 41
753 #define NUM_T_NFC_CALLBACK_GET_DEFAULT_KERNEL_ID 42
783 #define NUM_T_NFC_CALLBACK_GET_CUSTOM_KERNEL_ID 43
803 #define NUM_T_NFC_CALLBACK_CV_CHECK_CVM_COND 51
820 #define NUM_T_NFC_CALLBACK_CV_APPLY_CVM 52
822 #define T_NFC_CVM_RES_OK 0x00
823 #define T_NFC_CVM_RES_UNSUPP 0x01
824 #define T_NFC_CVM_RES_UNREC 0x02
825 #define T_NFC_CVM_RES_FAIL 0x03
848 #define NUM_T_NFC_CALLBACK_DEX_DATAFROMKERNEL 61
864 #define NUM_T_NFC_CALLBACK_DEX_DATAFROMTERMINAL 62
870 #define T_NFC_DE_RES_OK 0x0000
871 #define T_NFC_DE_RES_TIMEOUT 0x0001
872 #define T_NFC_DE_RES_NO_DATA 0x0002
873 #define T_NFC_DE_RES_FAIL 0x0003
896 #define NUM_T_NFC_CALLBACK_DEX_FREERESULT_EX 63
912 #define NUM_T_NFC_CALLBACK_CRYPT_HASH 71
914 #define T_NFC_CALLBACK_CRYPT_HASH_ALG_TC_HASH 0
915 #define T_NFC_CALLBACK_CRYPT_HASH_ALG_SHA1 1
937 #define NUM_T_NFC_CALLBACK_CRYPT_HASH_INIT 72
954 #define NUM_T_NFC_CALLBACK_CRYPT_HASH_UPDATE 73
972 #define NUM_T_NFC_CALLBACK_CRYPT_HASH_COMPLETE 74
991 #define NUM_T_NFC_CALLBACK_CRYPT_UNPRED_NUMBER 75
1007 #define NUM_T_NFC_CALLBACK_CRYPT_SET_AC 76
1025 #define NUM_T_NFC_CALLBACK_CRYPT_GET_CA_PK 77
1047 #define NUM_T_NFC_CALLBACK_CRYPT_MSG_RECOVERY 78
1049 #define T_NFC_CALLBACK_CRYPT_REC_ALG_RSA_EMV 1
1077 #define NUM_T_NFC_CALLBACK_CRYPT_CERT_REVOCATION 79
1079 #define T_NFC_CALLBACK_CRYPT_CERT_INFO_VER 0
1103 #define NUM_T_NFC_CALLBACK_CRYPT_ENCRYPT 80
1105 #define T_NFC_CALLBACK_CRYPT_ALG_DES 0x00
1106 #define T_NFC_CALLBACK_CRYPT_ALG_AES 0x10
1107 #define T_NFC_CALLBACK_CRYPT_ALG_NA 0xFF
1133 #define NUM_T_NFC_CALLBACK_CRYPT_DECRYPT 81
1159 #define NUM_T_NFC_CALLBACK_INIT_CHECKSUM_EX 91
1179 #define NUM_T_NFC_CALLBACK_UI_SCHEDULE_CHANGE_REQUEST 101
1197 #define NUM_T_NFC_CALLBACK_UI_CANCEL_CHANGE_REQUEST 102
1215 #define NUM_T_NFC_CALLBACK_SYS_SLEEP 111
1227 #define NUM_T_NFC_CALLBACK_SYS_GET_100_MICROSEC_TIMESTAMP 112
1238 #define NUM_T_NFC_CALLBACK_SYS_GET_DATE_TIME 113
1252 #define NUM_T_NFC_CALLBACK_SYS_GET_UTC_DATE_TIME 114
1266 #define NUM_T_NFC_CALLBACK_NOTIFY 121
1283 #define NUM_T_NFC_CALLBACK_ONLINE_CHECK 122
1302 #define T_NFC_CALLBACKS_VER_00 0x00
1303 #define T_NFC_CALLBACKS_VER T_NFC_CALLBACKS_VER_00
void KER_VOID
Definition: emv_platform.h:66
KER_INT8U KER_BOOL
Definition: emv_platform.h:67
uint8_t KER_BYTE
Definition: emv_platform.h:70
KER_INT16U KER_RES
Definition: emv_platform.h:68
unsigned int KER_INT32U
Definition: emv_platform.h:63
unsigned short KER_INT16U
Definition: emv_platform.h:61
char KER_CHAR
Definition: emv_platform.h:65
signed int KER_INT32S
Definition: emv_platform.h:64
KER_INT16U(CLB_API * T_NFC_CALLBACK_UI_SCHEDULE_CHANGE_REQUEST)(T_NFC_CLB_CTX_PARAM KER_INT32U ulDelayTime, const NFC_OUTCOME_UI *pUI)
Schedule async change User Interface request.
Definition: t_nfc_ker_clb.h:1191
KER_BOOL(KER_API * T_NFC_USER_CALLBACK_UI_CANCEL_CHANGE_REQUEST)(KER_VOID *pCallbackHandle, KER_INT16U usRequestID)
Cancel prev. scheduled async change User Interface request.
Definition: t_nfc_user_clb.h:144
KER_INT16U(KER_API * T_NFC_USER_CALLBACK_UI_SCHEDULE_CHANGE_REQUEST)(KER_VOID *pCallbackHandle, KER_INT32U ulDelayTime, const NFC_OUTCOME_UI *pUI)
Schedule async change User Interface request.
Definition: t_nfc_user_clb.h:125
KER_BOOL(CLB_API * T_NFC_CALLBACK_UI_CANCEL_CHANGE_REQUEST)(T_NFC_CLB_CTX_PARAM KER_INT16U usRequestID)
Cancel prev. scheduled async change User Interface request.
Definition: t_nfc_ker_clb.h:1209
KER_BYTE(CLB_API * T_NFC_CALLBACK_SYS_GET_UTC_DATE_TIME)(T_NFC_CLB_CTX_PARAM KER_BYTE *pbtDateTimeBuffer, KER_BYTE btDateTimeBufferLen)
Provides terminal UTC date & time for Kernel.
Definition: t_nfc_ker_clb.h:1261
KER_BYTE(CLB_API * T_NFC_CALLBACK_SYS_GET_DATE_TIME)(T_NFC_CLB_CTX_PARAM KER_BYTE *pbtDateTimeBuffer, KER_BYTE btDateTimeBufferLen)
Provides local terminal date & time for Kernel.
Definition: t_nfc_ker_clb.h:1247
KER_BOOL(CLB_API * T_NFC_CALLBACK_FIELD_OFF)(T_NFC_CLB_CTX_SINGLE_PARAM)
PCD field off request.
Definition: t_nfc_ker_clb.h:124
KER_RES(CLB_API * T_NFC_CALLBACK_CARD_REMOVAL_PROCEDURE)(T_NFC_CLB_CTX_PARAM KER_INT32U ulTimeout)
Performs EMV L1 card removal procedure Callback called by Entry Point only.
Definition: t_nfc_ker_clb.h:198
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_ENCRYPT)(T_NFC_CLB_CTX_PARAM KER_BYTE btAlg, const KER_BYTE *pbtKey, KER_INT16U usKeyLen, const KER_BYTE *pbtIV, KER_INT16U usIVLen, const KER_BYTE *pbtData, KER_INT16U usDataLen, KER_BYTE *pbtResult, KER_INT16U *pusResultLen, KER_INT16U usMaxLen)
Performs encryption.
Definition: t_nfc_ker_clb.h:1127
KER_VOID *(CLB_API * T_NFC_CALLBACK_MEM_MOVE)(T_NFC_CLB_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, KER_VOID *pvSourceBuffer, KER_INT16U usSourceBufferSize)
Copy one memory buffer to another (event if buffer overlaped)
Definition: t_nfc_ker_clb.h:432
struct tag_T_NFC_CALLBACKS T_NFC_CALLBACKS
Struct to handle all callbacks.
Definition: t_nfc_ker_clb.h:29
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_IS_TRAN_MAN_CASH)(T_NFC_CLB_CTX_PARAM KER_BYTE btTranType)
Check transaction type (9C) for cashback.
Definition: t_nfc_ker_clb.h:666
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_CERT_REVOCATION)(T_NFC_CLB_CTX_PARAM KER_BYTE btKernelID, const KER_BYTE *pbtRID, KER_BYTE btRIDLen, KER_BYTE btKeyIndex, const HAL_CRYPT_CERT_INFO *pCert)
Get CA PK by index from repositoty.
Definition: t_nfc_ker_clb.h:1097
KER_INT16U(CLB_API * T_NFC_CALLBACK_CFG_GET_ID_BY_CUST_TAG)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pbtTag, KER_INT16U usTagLen)
Remapp custom tag to configuration ID.
Definition: t_nfc_ker_clb.h:594
KER_BOOL(CLB_API * T_NFC_CALLBACK_RESET_OPERATION_FIELD)(T_NFC_CLB_CTX_SINGLE_PARAM)
Reset operation field Callback called by Entry Point only.
Definition: t_nfc_ker_clb.h:211
KER_VOID(CLB_API * T_NFC_CALLBACK_SYS_SLEEP)(T_NFC_CLB_CTX_PARAM KER_INT32U ulTimeout)
Sleeps for specified timeout.
Definition: t_nfc_ker_clb.h:1221
KER_BOOL(CLB_API * T_NFC_CALLBACK_NOTIFY)(T_NFC_CLB_CTX_PARAM KER_INT16U usNotifyType, const KER_VOID *pNotifyData, KER_INT16U usNotifyDataLen)
Notifies HAL about some specific event.
Definition: t_nfc_ker_clb.h:1278
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_HASH)(T_NFC_CLB_CTX_PARAM KER_BYTE btAlg, KER_VOID *pExtra, const KER_BYTE *pbtDataBuffer, KER_INT16U usDataBufferLen, KER_BYTE *pbtHash, KER_INT16U *pusHashLen, KER_INT16U usHashSize)
Calculates hash for data buffer provided.
Definition: t_nfc_ker_clb.h:931
KER_INT16U(CLB_API * T_NFC_CALLBACK_MEM_ADD)(T_NFC_CLB_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, KER_INT16U usDestBufferOffset, const KER_VOID *pvSourceBuffer, KER_INT16U usSourceBufferSize)
Add memory buffer to existing buffer with offset.
Definition: t_nfc_ker_clb.h:451
KER_RES(CLB_API * T_NFC_CALLBACK_DEX_DATAFROMTERMINAL)(T_NFC_CLB_CTX_PARAM KER_INT16U usTimeout, KER_INT16U usParam, KER_VOID *pParam, KER_BYTE **ppbtTerminalData, KER_INT16U *pusTerminalDataLen)
Data exchange callback.
Definition: t_nfc_ker_clb.h:890
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_HASH_UPDATE)(T_NFC_CLB_CTX_PARAM KER_VOID *pHashHandle, KER_BYTE btAlg, const KER_BYTE *pbtDataBuffer, KER_INT16U usDataBufferLen)
Passes data for hash calculation (can be executed several times)
Definition: t_nfc_ker_clb.h:966
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_IS_APPROVED_ONLINE)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pbtARC, KER_INT16U usARCLen)
Check online result by ARC.
Definition: t_nfc_ker_clb.h:703
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_UNPRED_NUMBER)(T_NFC_CLB_CTX_PARAM KER_INT16U usUnpredNumLen, KER_BYTE *pbtUnpredNum)
Calculates unpredictable number.
Definition: t_nfc_ker_clb.h:1001
KER_BOOL(CLB_API * T_NFC_CALLBACK_GET_CUSTOM_KERNEL_ID)(T_NFC_CLB_CTX_PARAM const KER_BYTE *p61, KER_INT16U us61Len, KER_BYTE *pbtKernelID, KER_BYTE *pbtKernelIDLen, KER_BYTE btMaxLen)
Provides custom mapping between Directory Entry and Requested Kernel ID Optional callback called by E...
Definition: t_nfc_ker_clb.h:797
KER_VOID *(CLB_API * T_NFC_CALLBACK_MEM_SET)(T_NFC_CLB_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, KER_BYTE btValue, KER_INT16U usCount)
Reset memory buffer with specified value.
Definition: t_nfc_ker_clb.h:395
KER_BOOL(CLB_API * T_NFC_CALLBACK_GET_READER_SERIAL_NUMBER)(T_NFC_CLB_CTX_PARAM KER_CHAR *data, KER_BYTE *dlen)
Get serial number of the IFD Optional Callback.
Definition: t_nfc_ker_clb.h:227
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_IS_TRAN_REFUND)(T_NFC_CLB_CTX_PARAM KER_BYTE btTranType)
Check transaction type (9C) for cashback.
Definition: t_nfc_ker_clb.h:684
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_HASH_COMPLETE)(T_NFC_CLB_CTX_PARAM KER_VOID *pHashHandle, KER_BYTE btAlg, KER_BYTE *pbtHash, KER_INT16U *pusHashLen, KER_INT16U usHashSize)
Calculates hash on prev. provided data.
Definition: t_nfc_ker_clb.h:985
KER_BOOL(CLB_API * T_NFC_CALLBACK_TRACE_SET_MODE)(T_NFC_CLB_CTX_PARAM KER_BYTE btTraceMode)
Set trace mode.
Definition: t_nfc_ker_clb.h:247
KER_BOOL(CLB_API * T_NFC_CALLBACK_CARD_SENDCAPDU)(T_NFC_CLB_CTX_PARAM KER_BYTE btCase, KER_BYTE btCls, KER_BYTE btIns, KER_BYTE btP1, KER_BYTE btP2, KER_INT16U usLc, const KER_BYTE *pbtDataIn, KER_INT16U usLe)
Send APDU requset to card.
Definition: t_nfc_ker_clb.h:84
KER_BOOL(CLB_API * T_NFC_CALLBACK_DEX_FREERESULT_EX)(T_NFC_CLB_CTX_PARAM KER_BYTE *pbtData, KER_INT16U usDataLen)
Data exchange callback.
Definition: t_nfc_ker_clb.h:906
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_SET_CONFIG_BY_ID)(T_NFC_CLB_CTX_PARAM KER_INT16U usID, const KER_BYTE *pbtValue, KER_INT16U usValueLen)
Keeps trerminal params in "scratch pad".
Definition: t_nfc_ker_clb.h:725
KER_VOID *(CLB_API * T_NFC_CALLBACK_MEM_ALLOC)(T_NFC_CLB_CTX_PARAM KER_INT16U usBufferSize)
allocate memory buffer
Definition: t_nfc_ker_clb.h:503
KER_BOOL(CLB_API * T_NFC_CALLBACK_TRACE_ERROR)(T_NFC_CLB_CTX_PARAM KER_INT16U usTraceLevel, KER_RES resErrCode, const KER_CHAR *pchErrorText)
Trace error to system error journal.
Definition: t_nfc_ker_clb.h:327
KER_BOOL(CLB_API * T_NFC_CALLBACK_INIT_CHECKSUM_EX)(T_NFC_CLB_CTX_PARAM KER_BYTE btType, const KER_CHAR *pchKernelModuleList, KER_INT16U usKernelModuleListLen, KER_BYTE *pbtCheckSum, KER_INT16U *pusCheckSumLen, KER_INT16U usMaxSize)
Pass checksums to the kernel.
Definition: t_nfc_ker_clb.h:1173
KER_BOOL(CLB_API * T_NFC_CALLBACK_ONLINE_CHECK)(T_NFC_CLB_CTX_SINGLE_PARAM)
Checks HAL for unable to go online condition (for AmEx C-4).
Definition: t_nfc_ker_clb.h:1291
KER_INT16U(KER_CDECL * T_NFC_CALLBACK_MEM_SPRINTF)(T_NFC_CLB_CTX_PARAM KER_CHAR *pchDestBuffer, KER_INT16U usDestBufferSize, const KER_CHAR *pchFormat,...)
sprintf_s analog
Definition: t_nfc_ker_clb.h:468
KER_BOOL(CLB_API * T_NFC_CALLBACK_MEM_RELEASE_EX)(T_NFC_CLB_CTX_PARAM KER_VOID *pBuffer, KER_INT16U usBufferSize)
release previously allocated memory buffer
Definition: t_nfc_ker_clb.h:520
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_GET_CONFIG_BY_ID)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pbtAID, KER_INT16U usAIDLen, const KER_TLV *pTranDataList, const KER_TLV *pTranContextList, KER_INT16U usID, KER_BYTE *pbtValue, KER_INT16U *pusValueLen, KER_INT16U usMaxLen)
Provide terminal configuration specific for AID-Transaction data combination which have no emv tag as...
Definition: t_nfc_ker_clb.h:551
KER_INT16U(CLB_API * T_NFC_CALLBACK_MEM_CPY)(T_NFC_CLB_CTX_PARAM KER_VOID *pvDestBuffer, KER_INT16U usDestBufferSize, const KER_VOID *pvSourceBuffer, KER_INT16U usSourceBufferSize)
Copy one memory buffer to another.
Definition: t_nfc_ker_clb.h:413
KER_INT32U(CLB_API * T_NFC_CALLBACK_SYS_GET_100_MICROSEC_TIMESTAMP)(T_NFC_CLB_CTX_SINGLE_PARAM)
Provides terminal timestamp for Kernel (in 100 microsec resolution)
Definition: t_nfc_ker_clb.h:1233
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_HASH_INIT)(T_NFC_CLB_CTX_PARAM KER_BYTE btAlg, KER_VOID *pExtra, KER_VOID **ppHashHandle)
Initiates hash calculation.
Definition: t_nfc_ker_clb.h:948
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_IS_TRAN_SALE)(T_NFC_CLB_CTX_PARAM KER_BYTE btTranType)
Check transaction type (9C) for goods and services.
Definition: t_nfc_ker_clb.h:630
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_GET_EP_CONFIG)(T_NFC_CLB_CTX_PARAM const KER_TLV *pTranData, HAL_CONFIG_NFC_COMB **ppCombList)
Provides configuration (common / combination / tran related for EP This callback called by Entry Poin...
Definition: t_nfc_ker_clb.h:747
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_IS_TRAN_CASH)(T_NFC_CLB_CTX_PARAM KER_BYTE btTranType)
Check transaction type (9C) for cash tran (cash or cash disbursement at POS)
Definition: t_nfc_ker_clb.h:612
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_GET_CUST_TAG_BY_ID)(T_NFC_CLB_CTX_PARAM KER_INT16U usID, KER_BYTE *pbtValue, KER_INT16U *pusValueLen, KER_INT16U usMaxLen)
Remapp terminal configuration id to custom tag.
Definition: t_nfc_ker_clb.h:574
KER_BOOL(CLB_API * T_NFC_CALLBACK_CARD_GETINFO)(T_NFC_CLB_CTX_PARAM KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen)
Callback returns info for last activated card.
Definition: t_nfc_ker_clb.h:181
KER_BYTE(CLB_API * T_NFC_CALLBACK_TRACE_GET_MODE)(T_NFC_CLB_CTX_SINGLE_PARAM)
Get trace mode.
Definition: t_nfc_ker_clb.h:261
KER_BOOL(CLB_API * T_NFC_CALLBACK_CV_CHECK_CVM_COND)(T_NFC_CLB_CTX_PARAM KER_BYTE btCVM, KER_BYTE btCondition)
Check if non standard cvm condition met.
Definition: t_nfc_ker_clb.h:814
KER_RES(CLB_API * T_NFC_CALLBACK_CARD_POLL)(T_NFC_CLB_CTX_PARAM KER_INT32U ulTimeout, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen)
PCD field on and card polling during specified timeout.
Definition: t_nfc_ker_clb.h:156
KER_BOOL(CLB_API * T_NFC_CALLBACK_GET_READER_TYPE)(T_NFC_CLB_CTX_PARAM KER_CHAR *data, KER_BYTE *dlen)
Get IFD type for IFD related config Optional Callback.
Definition: t_nfc_ker_clb.h:62
KER_BOOL(CLB_API * T_NFC_CALLBACK_DEX_DATAFROMKERNEL)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pbtKernelData, KER_INT16U usKernelDataLen)
Data exchange callback.
Definition: t_nfc_ker_clb.h:858
KER_BOOL(CLB_API * T_NFC_CALLBACK_TRACE_STRING)(T_NFC_CLB_CTX_PARAM const KER_CHAR *pchString)
Trace povided nul-term string.
Definition: t_nfc_ker_clb.h:277
KER_BOOL(CLB_API * T_NFC_CALLBACK_GET_DEFAULT_KERNEL_ID)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pAID, KER_INT16U usAIDLen, KER_BYTE *pbtKernelID, KER_BYTE *pbtKernelIDLen, KER_BYTE btMaxLen)
Provides default AID - Kernel ID mapping Optional callback called by Entry Point only.
Definition: t_nfc_ker_clb.h:777
KER_BOOL(CLB_API * T_NFC_CALLBACK_TRACE_TIME)(T_NFC_CLB_CTX_SINGLE_PARAM)
Trace timestamp.
Definition: t_nfc_ker_clb.h:309
KER_BOOL(CLB_API * T_NFC_CALLBACK_CFG_IS_TRAN_CASHBACK)(T_NFC_CLB_CTX_PARAM KER_BYTE btTranType)
Check transaction type (9C) for cashback.
Definition: t_nfc_ker_clb.h:648
KER_BOOL(CLB_API * T_NFC_CALLBACK_KEEP_TRACE_TIME)(T_NFC_CLB_CTX_PARAM KER_BYTE *pbtTimeBuffer, KER_INT16U *pusTimeBufferSize)
Keep trace timestamp.
Definition: t_nfc_ker_clb.h:344
KER_RES(CLB_API * T_NFC_CALLBACK_CARD_RECEIVERAPDU)(T_NFC_CLB_CTX_PARAM KER_INT16U usTimeout, KER_BYTE *pbtDataOut, KER_INT16U *pusDataOutLength, KER_INT16U usDataOutMaxLength, KER_INT16U *pusSW1SW2, KER_INT32U *pulExecutionTime)
Obtain APDU response from card.
Definition: t_nfc_ker_clb.h:110
KER_INT32S(CLB_API * T_NFC_CALLBACK_MEM_CMP)(T_NFC_CLB_CTX_PARAM const KER_VOID *pvBuffer1, const KER_VOID *pvBuffer2, KER_INT16U usCount)
Compare memory buffers.
Definition: t_nfc_ker_clb.h:377
KER_BOOL(CLB_API * T_NFC_CALLBACK_TRACE_FLUSH)(T_NFC_CLB_CTX_SINGLE_PARAM)
Flush trace to tracefile (optional)
Definition: t_nfc_ker_clb.h:358
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_MSG_RECOVERY)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pbtPK, KER_INT16U usPKLen, const KER_BYTE *pbtExp, KER_INT16U usExpLen, KER_BYTE btAlg, const KER_BYTE *pbtMsg, KER_INT16U usMsgLen, KER_BYTE *pbtResult, KER_INT16U *pusResultLen, KER_INT16U usMaxLen)
Message recovery according to EMV Book 2, Appendix A2.1.
Definition: t_nfc_ker_clb.h:1070
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_GET_CA_PK)(T_NFC_CLB_CTX_PARAM KER_BYTE btKernelID, const KER_BYTE *pbtRID, KER_BYTE btRIDLen, KER_BYTE btKeyIndex, HAL_CRYPT_PK *pCA_PK)
Get CA PK by index from repositoty.
Definition: t_nfc_ker_clb.h:1041
KER_BOOL(CLB_API * T_NFC_CALLBACK_TRACE_BUFFER)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pbtDataBuffer, KER_INT16U usDataBufferSize)
Trace povided data buffer.
Definition: t_nfc_ker_clb.h:294
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_DECRYPT)(T_NFC_CLB_CTX_PARAM KER_BYTE btAlg, const KER_BYTE *pbtKey, KER_INT16U usKeyLen, const KER_BYTE *pbtIV, KER_INT16U usIVLen, const KER_BYTE *pbtData, KER_INT16U usDataLen, KER_BYTE *pbtResult, KER_INT16U *pusResultLen, KER_INT16U usMaxLen)
Performs decryption.
Definition: t_nfc_ker_clb.h:1153
KER_BYTE(CLB_API * T_NFC_CALLBACK_CV_APPLY_CVM)(T_NFC_CLB_CTX_PARAM KER_BYTE btCVM, KER_BYTE *pbtRes, KER_BYTE *pbtOutcomeCVM, KER_BYTE *pbtTVR, KER_BYTE btTVRLen)
Apply non standard cvm.
Definition: t_nfc_ker_clb.h:842
KER_RES nfcRegisterCallback(T_NFC_CALLBACKS *pCallbacks, KER_INT16U usCllbackID, KER_VOID *pCallback)
HAL callback registration.
KER_INT16U(KER_CDECL * T_NFC_CALLBACK_MEM_VSPRINTF)(T_NFC_CLB_CTX_PARAM KER_CHAR *pchDestBuffer, KER_INT16U usDestBufferSize, const KER_CHAR *pchFormat, va_list _ArgList)
sprintf_s analog
Definition: t_nfc_ker_clb.h:486
KER_BOOL(CLB_API * T_NFC_CALLBACK_CRYPT_SET_AC)(T_NFC_CLB_CTX_PARAM const KER_BYTE *pbtAc, KER_INT16U usAcLen)
Updates unpredictable (random) number calculator with last AC (9F26) value (only if it was obtained f...
Definition: t_nfc_ker_clb.h:1019
KER_BOOL(KER_API * T_NFC_USER_CALLBACK_DE_DATA_RELEASE)(KER_VOID *pCallbackHandle, KER_BYTE *pbtData, KER_INT16U usDataLen)
Callback type for data exchange.
Definition: t_nfc_user_clb.h:106
KER_BOOL(KER_API * T_NFC_USER_CALLBACK_ONLINE_CHECK)(KER_VOID *pCallbackHandle)
Checks for unable to go online condition (for AmEx C-4).
Definition: t_nfc_user_clb.h:160
KER_INT16U(KER_API * T_NFC_USER_CALLBACK_DE_DATA_FROM_TERMINAL)(KER_VOID *pCallbackHandle, KER_INT16U usTimeout, KER_INT16U usParam, KER_VOID *pParam, KER_BYTE **ppbtData, KER_INT16U *pusDataLen)
Callback type for data exchange.
Definition: t_nfc_user_clb.h:85
KER_BOOL(KER_API * T_NFC_USER_CALLBACK_DE_DATA_FROM_KERNEL)(KER_VOID *pCallbackHandle, const KER_BYTE *pbtData, KER_INT16U usDataLen)
Callback type for data exchange to pass card/kernel data to terminal.
Definition: t_nfc_user_clb.h:48
NFC combination configuration data.
Definition: hal_nfc_config.h:57
Check certificate revocation cert info structure.
Definition: hal_crypt.h:276
Get PK info structure.
Definition: hal_crypt.h:204
KER_INT16U usExpLen
Definition: hal_crypt.h:219
KER_INT16U usPKLen
Definition: hal_crypt.h:227
TLV container structure.
Definition: emv_data.h:63
Outcome User Interface struct definition, version 0.
Definition: nfc_outcome.h:152
Struct to handle all callbacks.
Definition: t_nfc_ker_clb.h:1308